-- $Name: graph_bunker$
-- $Version: 0.0.0$
-- $Author: Lebedev Anton$
instead_version "1.6.1";

require "timer"
require "sprites"
require "click"

dofile ('graph/graph.lua')

click.bg = true
click.press = true
click.button = true

function init()
	graph.init()
	
	bg = graph.object {spr = 'background.png'}
	box = graph.object {spr = 'box.png'}
	panel = graph.object {spr = 'panel.png', frame = {fw = 100, fh = 100}}
	r_lamp = graph.object {spr = 'r_lamp.png', frame = {fw = 15}}
	flash = graph.object {spr = 'flash.png'}
	
	-- NOTE ради одного объекта создавать сцену?
	scn_bg = graph.scene {}
	scn_bg.add_obj(bg).render()
	
	scn_obj = graph.scene {frame = {fw = 470, fh = 200}}
	scn_obj.add_obj(panel).add_obj(r_lamp, {x = 10, y = 60}).add_obj(box, {x = 400, y = 120}).render()
	
	scn_flash = graph.scene {}
	scn_flash.add_obj(flash).render()
end

function start()
	timer:set(10)
end

game.timer = function (t)
	shift_frame_right(r_lamp)

	mx, my = mouse_pos()
	
	sprite.draw (bg.render(), sprite.screen(), 0, 0)
	scn_obj.draw(200, 150)

	-- надо бы ввести еще сущность как менеджер экрана, дабы можно было возратить сцену
	-- поэтому пока что данный костылик
	sx = 500; sy = 300
	scn_flash.get_node(flash).set_coord(mx-800-sx, my-600-sy)
	scn_flash.draw(sx, sy)
end

game.click = function (c, press, button, x, y)
	if press then
		if button == 1 then shift_frame_right(panel) end
		if button == 3 then shift_frame_down(panel) end
	end
end

shift_frame_right = function (o)
	local fx, fy, fw, fh = o.get_frame()
	o.frame.shift(fw, 0, true)
	o.render()
end

shift_frame_down = function (o)
	local fx, fy, fw, fh = o.get_frame()
	o.frame.shift(0, fh, true)
	o.render()
end